package com.g8.pethospitallearnbackend.entity;

import java.io.Serializable;

public class Question implements Serializable {
    private String quesId;

    private String quesAns;

    private String typeName;

    private Byte isSingle;

    private String quesDesc;

    private String quesOpA;

    private String quesOpB;

    private String quesOpC;

    private String quesOpD;

    private static final long serialVersionUID = 1L;

    public String getQuesId() {
        return quesId;
    }

    public void setQuesId(String quesId) {
        this.quesId = quesId;
    }

    public String getQuesAns() {
        return quesAns;
    }

    public void setQuesAns(String quesAns) {
        this.quesAns = quesAns;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public Byte getIsSingle() {
        return isSingle;
    }

    public void setIsSingle(Byte isSingle) {
        this.isSingle = isSingle;
    }

    public String getQuesDesc() {
        return quesDesc;
    }

    public void setQuesDesc(String quesDesc) {
        this.quesDesc = quesDesc;
    }

    public String getQuesOpA() {
        return quesOpA;
    }

    public void setQuesOpA(String quesOpA) {
        this.quesOpA = quesOpA;
    }

    public String getQuesOpB() {
        return quesOpB;
    }

    public void setQuesOpB(String quesOpB) {
        this.quesOpB = quesOpB;
    }

    public String getQuesOpC() {
        return quesOpC;
    }

    public void setQuesOpC(String quesOpC) {
        this.quesOpC = quesOpC;
    }

    public String getQuesOpD() {
        return quesOpD;
    }

    public void setQuesOpD(String quesOpD) {
        this.quesOpD = quesOpD;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", quesId=").append(quesId);
        sb.append(", quesAns=").append(quesAns);
        sb.append(", typeName=").append(typeName);
        sb.append(", isSingle=").append(isSingle);
        sb.append(", quesDesc=").append(quesDesc);
        sb.append(", quesOpA=").append(quesOpA);
        sb.append(", quesOpB=").append(quesOpB);
        sb.append(", quesOpC=").append(quesOpC);
        sb.append(", quesOpD=").append(quesOpD);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Question other = (Question) that;
        return (this.getQuesId() == null ? other.getQuesId() == null : this.getQuesId().equals(other.getQuesId()))
            && (this.getQuesAns() == null ? other.getQuesAns() == null : this.getQuesAns().equals(other.getQuesAns()))
            && (this.getTypeName() == null ? other.getTypeName() == null : this.getTypeName().equals(other.getTypeName()))
            && (this.getIsSingle() == null ? other.getIsSingle() == null : this.getIsSingle().equals(other.getIsSingle()))
            && (this.getQuesDesc() == null ? other.getQuesDesc() == null : this.getQuesDesc().equals(other.getQuesDesc()))
            && (this.getQuesOpA() == null ? other.getQuesOpA() == null : this.getQuesOpA().equals(other.getQuesOpA()))
            && (this.getQuesOpB() == null ? other.getQuesOpB() == null : this.getQuesOpB().equals(other.getQuesOpB()))
            && (this.getQuesOpC() == null ? other.getQuesOpC() == null : this.getQuesOpC().equals(other.getQuesOpC()))
            && (this.getQuesOpD() == null ? other.getQuesOpD() == null : this.getQuesOpD().equals(other.getQuesOpD()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getQuesId() == null) ? 0 : getQuesId().hashCode());
        result = prime * result + ((getQuesAns() == null) ? 0 : getQuesAns().hashCode());
        result = prime * result + ((getTypeName() == null) ? 0 : getTypeName().hashCode());
        result = prime * result + ((getIsSingle() == null) ? 0 : getIsSingle().hashCode());
        result = prime * result + ((getQuesDesc() == null) ? 0 : getQuesDesc().hashCode());
        result = prime * result + ((getQuesOpA() == null) ? 0 : getQuesOpA().hashCode());
        result = prime * result + ((getQuesOpB() == null) ? 0 : getQuesOpB().hashCode());
        result = prime * result + ((getQuesOpC() == null) ? 0 : getQuesOpC().hashCode());
        result = prime * result + ((getQuesOpD() == null) ? 0 : getQuesOpD().hashCode());
        return result;
    }
}